package com.lemobar.pay.model.wxpay.request;

import lombok.Data;
import org.simpleframework.xml.Element;
import org.simpleframework.xml.Root;


/**
 * 微信 付款码下单 同步 请求参数
 * 微信付款码支付 https://pay.weixin.qq.com/wiki/doc/api/micropay.php?chapter=9_10&index=1
 */
@Data
@Root(name = "xml", strict = false)
public class WxPayMicroPayCreateRequest {

    /**
     * 公众账号ID
     */
    @Element(name = "appid")
    private String appid;

    /**
     * 商户号
     */
    @Element(name = "mch_id")
    private String mchId;

    /**
     * 设备号
     */
    @Element(name = "device_info", required = false)
    private String deviceInfo;

    /**
     * 随机字符串
     */
    @Element(name = "nonce_str")
    private String nonceStr;

    /**
     * 签名
     */
    @Element(name = "sign")
    private String sign;

    /**
     * 签名类型
     */
    @Element(name = "sign_type", required = false)
    private String signType;

    /**
     * 商品描述
     */
    @Element(name = "body")
    private String body;

    /**
     * 商品详情
     */
    @Element(name = "detail", required = false)
    private String detail;

    /**
     * 附加数据
     */
    @Element(name = "attach", required = false)
    private String attach;

    /**
     * 商户订单号
     */
    @Element(name = "out_trade_no")
    private String outTradeNo;


    /**
     * 标价金额
     * 分
     */
    @Element(name = "total_fee")
    private Integer totalFee;

    /**
     * 标价币种
     */
    @Element(name = "fee_type", required = false)
    private String feeType;



    /**
     * 终端IP
     */
    @Element(name = "spbill_create_ip")
    private String spbillCreateIp;

    /**
     * 订单优惠标记
     */
    @Element(name = "goods_tag", required = false)
    String goodsTag;

    /**
     * 指定支付方式
     */
    @Element(name = "limit_pay", required = false)
    String limitPay;

    /**
     * 交易起始时间
     */
    @Element(name = "time_start", required = false)
    private String timeStart;

    /**
     * 交易结束时间
     */
    @Element(name = "time_expire", required = false)
    private String timeExpire;

    /**
     * 电子发票入口开放标识
     */
    @Element(name = "receipt", required = false)
    private String receipt;

    /**
     * 付款码（付款码支付才有）
     */
    @Element(name = "auth_code")
    private String authCode;

    /**
     * 是否需要分账
     */
    @Element(name = "profit_sharing", required = false)
    private String profitSharing;

    /**
     * 场景信息
     */
    @Element(name = "scene_info", required = false)
    private String sceneInfo;





}